package com.ziru.ziru.config;

import org.springframework.web.servlet.HandlerInterceptor;

import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import javax.servlet.http.HttpSession;

/**
 * @author 缘友一世
 * date 2023/5/31-18:22
 * 自定义拦截器，session中不存在name则拦截请求，重定向到登录页面
 */
public class SessionInterceptor implements HandlerInterceptor {
    @Override
    public boolean preHandle(HttpServletRequest request, HttpServletResponse response, Object handler) throws Exception {
        // 获取Session
        HttpSession session = request.getSession();

        // 判断Session中是否存在"name"属性
        if (session.getAttribute("name") == null) {
            // 不存在"name"属性
            // ，重定向到登录页面或其他处理逻辑
            session.setAttribute("note","请先登录");
            response.sendRedirect("/login.jsp"); // 重定向到登录页面
            return false;
        }
        System.out.println("拦截到请求："+request);
        // 存在"name"属性，继续处理请求
        return true;
    }
}
